1. Statement of the Technical Field
The present invention relates to the field of technical support for the operation of a software application, and more particularly to remotely diagnosing the operation of a software application.
2. Description of the Related Art
An important aspect of the software life-cycle can include post-release technical support. Upon the general release of a software application, typically, a support center can be established through which technical support can be provided to end users through customer service representatives (CSR) otherwise known as technical support personnel (TSP). The primary responsibility of the CSR/TSP is that of assisting the end user first in configuring the software application, and secondly in troubleshooting operational malfunctions occurring within or in consequence of the generally released software application.
While providing generic instructions for installing, configuring and troubleshooting a generally released software application can provide adequate support for many end users, as a practical matter, providing technical support to end users is a individualized experience for each end user. Accordingly, for each end user supported, the process can be personal and “hands-on”. Yet, as the support of an end user often is a remote process facilitated largely through a telephone conference from many hundreds if not thousands of miles away, the CSR/TSP typically will be limited to the subjective diagnostics of the operation of the software application by the end user him or herself. Where the end user is not as familiar with the operation of the software application, the mere misdiagnosis of the operation of the software application by the end user can inhibit the proper analysis of the problem by the CSR/TSP.
Recognizing the inherent difficulties in troubleshooting the operation of a software application from afar, some have proposed the use of remote debugging agents to provide a more consistent diagnosis of the operation of an application. As an example, U.S. Pat. No. 6,119,247 to House et al. (House) relates to the remote debugging of an Internet application. In the House invention, a debug control can be embedded in a debug proxy file to establish a debug session with a development client and to transmit the application to the user computer's Web browser, so as to present data in controls disposed therein.
By comparison, in U.S. Pat. No. 6,357,019 B1 to Blaisdell et al. (Blaisdell), a method is disclosed in which network loadable debugging agents disposed in a user computer can provide information regarding the failing of an object oriented system in the user computer. Specifically, the operational problems of a networked computer can be investigated by specialized agents that are loaded onto the failing system over a network after the operational problems first appear. The agent subsequently can interact with the malfunctioning system to enable a remote user to obtain enough information to diagnose the operational problems.
Finally, U.S. Pat. No. 5,367,667 to Wahlquist et al. (Wahlquist) discloses a system for performing remote computer system diagnostic tests. In the Wahlquist system, end users can telephone a help desk representative who can create a computerized case file which includes modem telephone numbers, call and computer identification information. The representative also can select specific diagnostic tests, resident on the user's diagnostic disk, to be run on the user's computer. The representative can create a batch job which can cause the computer to connect to the user's computer via modem and can instruct the user's computer to perform the selected tests. Once the tests have completed, the user's computer can report the results to the help desk representative.
Importantly, neither House, Blaisdell nor Wahlquist can provide a non-instrusive technique for monitoring the operation of an application to diagnose operational problems. In that regard, in the House system, an intermediate development client is required to supply a debugging environment to the end user computer based upon which the operation of a Web based application in the browser of the user computer can be monitored by the intermediate development client. Without the use of the intermediate development client, the House system cannot effectively diagnose problems with the operation of the Web application.
By comparison, in Blaisdell, independent debugging agents first must be loaded in the user computer in order to aid the debugging process. Similarly, in Wahlquist, independent debugging scripts delivered on floppy diskettes will be required to undertake system diagnostics on behalf of a help desk technician. Accordingly, the long-felt problem of monitoring the operation of an application remotely in an non-intrusive manner remains an unsolved and elusive goal of the customer service and support strategy.